package com.ckf.serene.domain;

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 微信转账参数类
 *
 * @author serence
 * @date 2021/7/30 15:36
 */
@Data
public class WeChatTransferParam implements Serializable {

    /**
     * 商户订单号
     */
    private String partnerTradeNo;

    /**
     * 付款金额，单位为分
     */
    @NotNull(message = "转账金额不能为空")
    private BigDecimal amount;

    /**
     * 付款备注 可为空  允许100个字符以内
     */
    private String desc;

    /**
     * 商户appid下，某用户的openid
     */
    private String openId;

    /**
     * 收款用户姓名
     */
    private String reUserName;

    /**
     * 服务端或者客户端操作IP（与在商户号中设置的没有任何关系）
     */
    private String spBillCreateIp;

    /**
     * 开户行名称
     */
    private String bankName;

    /**
     * 收款方银行卡号
     */
    @NotNull(message = "收款方银行卡号不能为空")
    private String encBankNo;

    /**
     * 收款方用户名  卡主名称
     */
    @NotNull(message = "收款方用户名不能为空")
    private String encTrueName;

    /**
     * 收款方开户行 例:1002 代表工商银行
     */
    @NotNull(message = "收款方开户行不能为空")
    private String bankCode;

}
